[INFO] fetching crate refraction 0.1.2...
[INFO] testing refraction-0.1.2 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] extracting crate refraction 0.1.2 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate refraction 0.1.2
[INFO] finished tweaking crates.io crate refraction 0.1.2
[INFO] tweaked toml for crates.io crate refraction 0.1.2 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate refraction 0.1.2 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 2 packages to latest compatible versions
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded nodrop-union v0.1.11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d4dcfcf245a1f19c46a436631713e6e8098df68285639bd0e9fa1005f5b2aa4f
[INFO] running `Command { std: "docker" "start" "-a" "d4dcfcf245a1f19c46a436631713e6e8098df68285639bd0e9fa1005f5b2aa4f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d4dcfcf245a1f19c46a436631713e6e8098df68285639bd0e9fa1005f5b2aa4f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d4dcfcf245a1f19c46a436631713e6e8098df68285639bd0e9fa1005f5b2aa4f", kill_on_drop: false }`
[INFO] [stdout] d4dcfcf245a1f19c46a436631713e6e8098df68285639bd0e9fa1005f5b2aa4f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fbcca962deee5d5d133746c83ecb0741540fd1033c76cccdfc14fd52157bd1a7
[INFO] running `Command { std: "docker" "start" "-a" "fbcca962deee5d5d133746c83ecb0741540fd1033c76cccdfc14fd52157bd1a7", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling nodrop v0.1.14
[INFO] [stderr]    Compiling refraction v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/lib.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | #![cfg_attr(feature = "cargo-clippy", allow(expl_impl_clone_on_copy, type_complexity))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `nightly`
[INFO] [stdout]    = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:33:55
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn once_to_mut<'a, X, Y, F>(f_once: F) -> Box<FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn once_to_mut<'a, X, Y, F>(f_once: F) -> Box<dyn FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:40:63
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn once_to_mut_flatten<'a, X, Y, F>(f_once: F) -> Box<FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn once_to_mut_flatten<'a, X, Y, F>(f_once: F) -> Box<dyn FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:79:29
[INFO] [stdout]    |
[INFO] [stdout] 79 |     phantom_ss: PhantomData<Fn(S) -> S>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |     phantom_ss: PhantomData<dyn Fn(S) -> S>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:80:29
[INFO] [stdout]    |
[INFO] [stdout] 80 |     phantom_tt: PhantomData<Fn(T) -> T>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     phantom_tt: PhantomData<dyn Fn(T) -> T>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:227:29
[INFO] [stdout]     |
[INFO] [stdout] 227 |     phantom_ua: PhantomData<Fn(()) -> A>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 227 |     phantom_ua: PhantomData<dyn Fn(()) -> A>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:228:29
[INFO] [stdout]     |
[INFO] [stdout] 228 |     phantom_bu: PhantomData<Fn(B) -> ()>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 228 |     phantom_bu: PhantomData<dyn Fn(B) -> ()>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:332:29
[INFO] [stdout]     |
[INFO] [stdout] 332 |     phantom_su: PhantomData<Fn(S) -> ()>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 332 |     phantom_su: PhantomData<dyn Fn(S) -> ()>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:333:29
[INFO] [stdout]     |
[INFO] [stdout] 333 |     phantom_us: PhantomData<Fn(()) -> S>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 333 |     phantom_us: PhantomData<dyn Fn(()) -> S>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/conv.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 |     phantom_sa: PhantomData<Fn(S) -> A>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     phantom_sa: PhantomData<dyn Fn(S) -> A>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/conv.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 |     phantom_bt: PhantomData<Fn(B) -> T>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     phantom_bt: PhantomData<dyn Fn(B) -> T>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 |     phantom_sa: PhantomData<Fn(&'a S) -> &'a A>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 197 |     phantom_sa: PhantomData<dyn Fn(&'a S) -> &'a A>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:198:29
[INFO] [stdout]     |
[INFO] [stdout] 198 |     phantom_bt: PhantomData<Fn(&'a B) -> &'a T>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 198 |     phantom_bt: PhantomData<dyn Fn(&'a B) -> &'a T>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:384:29
[INFO] [stdout]     |
[INFO] [stdout] 384 |     phantom_sa: PhantomData<Fn(&'a mut S) -> &'a mut A>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 384 |     phantom_sa: PhantomData<dyn Fn(&'a mut S) -> &'a mut A>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:385:29
[INFO] [stdout]     |
[INFO] [stdout] 385 |     phantom_bt: PhantomData<Fn(&'a mut B) -> &'a mut T>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 385 |     phantom_bt: PhantomData<dyn Fn(&'a mut B) -> &'a mut T>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/partial_lens.rs:3:35
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Injector<'l, X, Y> = Box<FnMut(X) -> Option<Y> + 'l>;
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Injector<'l, X, Y> = Box<dyn FnMut(X) -> Option<Y> + 'l>;
[INFO] [stdout]   |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/partial_lens.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn try_get_inject(&self,
[INFO] [stdout]    |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 21 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/partial_lens.rs:53:23
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn try_get_inject(&self, v: S) -> Result<(S, Injector<T, T>), T> {
[INFO] [stdout]    |                       ^^^^^                      ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn try_get_inject(&self, v: S) -> Result<(S, Injector<'_, T, T>), T> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/partial_lens.rs:93:23
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn try_get_inject(&self,
[INFO] [stdout]    |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 96 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 96 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/partial_lens.rs:154:23
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn try_get_inject(&self,
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 157 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 157 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/terminal.rs:299:23
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn try_get_inject(&self, v: ()) -> Result<(A, Injector<B, ()>), ()> {
[INFO] [stdout]     |                       ^^^^^                       ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn try_get_inject(&self, v: ()) -> Result<(A, Injector<'_, B, ()>), ()> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/terminal.rs:404:23
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn try_get_inject(&self, v: S) -> Result<((), Injector<(), S>), S> {
[INFO] [stdout]     |                       ^^^^^                       ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn try_get_inject(&self, v: S) -> Result<((), Injector<'_, (), S>), S> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conv.rs:125:23
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn try_get_inject(&self,
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 128 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 128 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conv.rs:312:23
[INFO] [stdout]     |
[INFO] [stdout] 312 |     fn try_get_inject(&self,
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 315 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 315 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conv.rs:499:23
[INFO] [stdout]     |
[INFO] [stdout] 499 |     fn try_get_inject(&self,
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 502 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 502 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.35s
[INFO] running `Command { std: "docker" "inspect" "fbcca962deee5d5d133746c83ecb0741540fd1033c76cccdfc14fd52157bd1a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fbcca962deee5d5d133746c83ecb0741540fd1033c76cccdfc14fd52157bd1a7", kill_on_drop: false }`
[INFO] [stdout] fbcca962deee5d5d133746c83ecb0741540fd1033c76cccdfc14fd52157bd1a7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1e41d1db99c064b88a02b451904bbb674c902d249b59fb8142a49f602626bea3
[INFO] running `Command { std: "docker" "start" "-a" "1e41d1db99c064b88a02b451904bbb674c902d249b59fb8142a49f602626bea3", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/lib.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | #![cfg_attr(feature = "cargo-clippy", allow(expl_impl_clone_on_copy, type_complexity))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `nightly`
[INFO] [stdout]    = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:33:55
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn once_to_mut<'a, X, Y, F>(f_once: F) -> Box<FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn once_to_mut<'a, X, Y, F>(f_once: F) -> Box<dyn FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:40:63
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn once_to_mut_flatten<'a, X, Y, F>(f_once: F) -> Box<FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn once_to_mut_flatten<'a, X, Y, F>(f_once: F) -> Box<dyn FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:79:29
[INFO] [stdout]    |
[INFO] [stdout] 79 |     phantom_ss: PhantomData<Fn(S) -> S>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |     phantom_ss: PhantomData<dyn Fn(S) -> S>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:80:29
[INFO] [stdout]    |
[INFO] [stdout] 80 |     phantom_tt: PhantomData<Fn(T) -> T>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     phantom_tt: PhantomData<dyn Fn(T) -> T>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:227:29
[INFO] [stdout]     |
[INFO] [stdout] 227 |     phantom_ua: PhantomData<Fn(()) -> A>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 227 |     phantom_ua: PhantomData<dyn Fn(()) -> A>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:228:29
[INFO] [stdout]     |
[INFO] [stdout] 228 |     phantom_bu: PhantomData<Fn(B) -> ()>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 228 |     phantom_bu: PhantomData<dyn Fn(B) -> ()>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:332:29
[INFO] [stdout]     |
[INFO] [stdout] 332 |     phantom_su: PhantomData<Fn(S) -> ()>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 332 |     phantom_su: PhantomData<dyn Fn(S) -> ()>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:333:29
[INFO] [stdout]     |
[INFO] [stdout] 333 |     phantom_us: PhantomData<Fn(()) -> S>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 333 |     phantom_us: PhantomData<dyn Fn(()) -> S>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/conv.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 |     phantom_sa: PhantomData<Fn(S) -> A>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     phantom_sa: PhantomData<dyn Fn(S) -> A>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/conv.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 |     phantom_bt: PhantomData<Fn(B) -> T>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     phantom_bt: PhantomData<dyn Fn(B) -> T>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 |     phantom_sa: PhantomData<Fn(&'a S) -> &'a A>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 197 |     phantom_sa: PhantomData<dyn Fn(&'a S) -> &'a A>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:198:29
[INFO] [stdout]     |
[INFO] [stdout] 198 |     phantom_bt: PhantomData<Fn(&'a B) -> &'a T>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 198 |     phantom_bt: PhantomData<dyn Fn(&'a B) -> &'a T>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:384:29
[INFO] [stdout]     |
[INFO] [stdout] 384 |     phantom_sa: PhantomData<Fn(&'a mut S) -> &'a mut A>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 384 |     phantom_sa: PhantomData<dyn Fn(&'a mut S) -> &'a mut A>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:385:29
[INFO] [stdout]     |
[INFO] [stdout] 385 |     phantom_bt: PhantomData<Fn(&'a mut B) -> &'a mut T>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 385 |     phantom_bt: PhantomData<dyn Fn(&'a mut B) -> &'a mut T>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/partial_lens.rs:3:35
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Injector<'l, X, Y> = Box<FnMut(X) -> Option<Y> + 'l>;
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Injector<'l, X, Y> = Box<dyn FnMut(X) -> Option<Y> + 'l>;
[INFO] [stdout]   |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/partial_lens.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn try_get_inject(&self,
[INFO] [stdout]    |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 21 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/partial_lens.rs:53:23
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn try_get_inject(&self, v: S) -> Result<(S, Injector<T, T>), T> {
[INFO] [stdout]    |                       ^^^^^                      ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn try_get_inject(&self, v: S) -> Result<(S, Injector<'_, T, T>), T> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling refraction v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/partial_lens.rs:93:23
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn try_get_inject(&self,
[INFO] [stdout]    |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 96 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 96 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/partial_lens.rs:154:23
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn try_get_inject(&self,
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 157 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 157 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/terminal.rs:299:23
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn try_get_inject(&self, v: ()) -> Result<(A, Injector<B, ()>), ()> {
[INFO] [stdout]     |                       ^^^^^                       ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn try_get_inject(&self, v: ()) -> Result<(A, Injector<'_, B, ()>), ()> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/terminal.rs:404:23
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn try_get_inject(&self, v: S) -> Result<((), Injector<(), S>), S> {
[INFO] [stdout]     |                       ^^^^^                       ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn try_get_inject(&self, v: S) -> Result<((), Injector<'_, (), S>), S> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conv.rs:125:23
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn try_get_inject(&self,
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 128 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 128 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conv.rs:312:23
[INFO] [stdout]     |
[INFO] [stdout] 312 |     fn try_get_inject(&self,
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 315 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 315 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conv.rs:499:23
[INFO] [stdout]     |
[INFO] [stdout] 499 |     fn try_get_inject(&self,
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 502 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 502 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/lib.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | #![cfg_attr(feature = "cargo-clippy", allow(expl_impl_clone_on_copy, type_complexity))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `nightly`
[INFO] [stdout]    = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/ops.rs:119:43
[INFO] [stdout]     |
[INFO] [stdout] 119 |                         $crate::std::mem::uninitialized()
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |         let l = field_lens!(TestOuter => test_field.0: String);
[INFO] [stdout]     |                 ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `field_lens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:33:55
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn once_to_mut<'a, X, Y, F>(f_once: F) -> Box<FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn once_to_mut<'a, X, Y, F>(f_once: F) -> Box<dyn FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:40:63
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn once_to_mut_flatten<'a, X, Y, F>(f_once: F) -> Box<FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn once_to_mut_flatten<'a, X, Y, F>(f_once: F) -> Box<dyn FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:79:29
[INFO] [stdout]    |
[INFO] [stdout] 79 |     phantom_ss: PhantomData<Fn(S) -> S>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |     phantom_ss: PhantomData<dyn Fn(S) -> S>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:80:29
[INFO] [stdout]    |
[INFO] [stdout] 80 |     phantom_tt: PhantomData<Fn(T) -> T>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     phantom_tt: PhantomData<dyn Fn(T) -> T>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:227:29
[INFO] [stdout]     |
[INFO] [stdout] 227 |     phantom_ua: PhantomData<Fn(()) -> A>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 227 |     phantom_ua: PhantomData<dyn Fn(()) -> A>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:228:29
[INFO] [stdout]     |
[INFO] [stdout] 228 |     phantom_bu: PhantomData<Fn(B) -> ()>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 228 |     phantom_bu: PhantomData<dyn Fn(B) -> ()>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:332:29
[INFO] [stdout]     |
[INFO] [stdout] 332 |     phantom_su: PhantomData<Fn(S) -> ()>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 332 |     phantom_su: PhantomData<dyn Fn(S) -> ()>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:333:29
[INFO] [stdout]     |
[INFO] [stdout] 333 |     phantom_us: PhantomData<Fn(()) -> S>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 333 |     phantom_us: PhantomData<dyn Fn(()) -> S>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/conv.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 |     phantom_sa: PhantomData<Fn(S) -> A>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     phantom_sa: PhantomData<dyn Fn(S) -> A>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/conv.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 |     phantom_bt: PhantomData<Fn(B) -> T>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     phantom_bt: PhantomData<dyn Fn(B) -> T>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 |     phantom_sa: PhantomData<Fn(&'a S) -> &'a A>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 197 |     phantom_sa: PhantomData<dyn Fn(&'a S) -> &'a A>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:198:29
[INFO] [stdout]     |
[INFO] [stdout] 198 |     phantom_bt: PhantomData<Fn(&'a B) -> &'a T>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 198 |     phantom_bt: PhantomData<dyn Fn(&'a B) -> &'a T>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:384:29
[INFO] [stdout]     |
[INFO] [stdout] 384 |     phantom_sa: PhantomData<Fn(&'a mut S) -> &'a mut A>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 384 |     phantom_sa: PhantomData<dyn Fn(&'a mut S) -> &'a mut A>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:385:29
[INFO] [stdout]     |
[INFO] [stdout] 385 |     phantom_bt: PhantomData<Fn(&'a mut B) -> &'a mut T>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 385 |     phantom_bt: PhantomData<dyn Fn(&'a mut B) -> &'a mut T>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/partial_lens.rs:3:35
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Injector<'l, X, Y> = Box<FnMut(X) -> Option<Y> + 'l>;
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Injector<'l, X, Y> = Box<dyn FnMut(X) -> Option<Y> + 'l>;
[INFO] [stdout]   |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/partial_lens.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn try_get_inject(&self,
[INFO] [stdout]    |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 21 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/partial_lens.rs:53:23
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn try_get_inject(&self, v: S) -> Result<(S, Injector<T, T>), T> {
[INFO] [stdout]    |                       ^^^^^                      ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn try_get_inject(&self, v: S) -> Result<(S, Injector<'_, T, T>), T> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/partial_lens.rs:93:23
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn try_get_inject(&self,
[INFO] [stdout]    |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 96 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 96 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/partial_lens.rs:154:23
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn try_get_inject(&self,
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 157 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 157 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ops.rs:112:35
[INFO] [stdout]     |
[INFO] [stdout] 112 |                   fn try_get_inject(&self, mut v: Self::InitialSource) ->
[INFO] [stdout]     |                                     ^^^^^ the lifetime is elided here
[INFO] [stdout] 113 |                       $crate::std::result::Result<(Self::InitialTarget,
[INFO] [stdout] 114 | /                                                  $crate::Injector<Self::FinalTarget,
[INFO] [stdout] 115 | |                                                  Self::FinalSource>), Self::FinalSource>
[INFO] [stdout]     | |___________________________________________________________________^ the same lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 189 |           let l = field_lens!(TestOuter => test_field.0: String);
[INFO] [stdout]     |                   ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `field_lens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |                                                  $crate::Injector<'_, Self::FinalTarget,
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `String` does not permit being left uninitialized
[INFO] [stdout]    --> src/ops.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |                         $crate::std::mem::uninitialized()
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this code causes undefined behavior when executed
[INFO] [stdout]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 189 |         let l = field_lens!(TestOuter => test_field.0: String);
[INFO] [stdout]     |                 ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `alloc::raw_vec::RawVec<u8>` must be initialized inside its custom valid range
[INFO] [stdout]     = note: because `alloc::raw_vec::RawVecInner` must be initialized inside its custom valid range
[INFO] [stdout]     = note: `std::ptr::Unique<u8>` must be non-null
[INFO] [stdout]     = note: because `std::ptr::NonNull<u8>` must be non-null
[INFO] [stdout]     = note: raw pointers must be initialized
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `field_lens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/terminal.rs:299:23
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn try_get_inject(&self, v: ()) -> Result<(A, Injector<B, ()>), ()> {
[INFO] [stdout]     |                       ^^^^^                       ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn try_get_inject(&self, v: ()) -> Result<(A, Injector<'_, B, ()>), ()> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/terminal.rs:404:23
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn try_get_inject(&self, v: S) -> Result<((), Injector<(), S>), S> {
[INFO] [stdout]     |                       ^^^^^                       ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn try_get_inject(&self, v: S) -> Result<((), Injector<'_, (), S>), S> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conv.rs:125:23
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn try_get_inject(&self,
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 128 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 128 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conv.rs:312:23
[INFO] [stdout]     |
[INFO] [stdout] 312 |     fn try_get_inject(&self,
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 315 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 315 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conv.rs:499:23
[INFO] [stdout]     |
[INFO] [stdout] 499 |     fn try_get_inject(&self,
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 502 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 502 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.77s
[INFO] running `Command { std: "docker" "inspect" "1e41d1db99c064b88a02b451904bbb674c902d249b59fb8142a49f602626bea3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e41d1db99c064b88a02b451904bbb674c902d249b59fb8142a49f602626bea3", kill_on_drop: false }`
[INFO] [stdout] 1e41d1db99c064b88a02b451904bbb674c902d249b59fb8142a49f602626bea3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] efc3c4ca476802872cd5e98a77f37fd1b1fb44452a65fc040c99bbf0ac862870
[INFO] running `Command { std: "docker" "start" "-a" "efc3c4ca476802872cd5e98a77f37fd1b1fb44452a65fc040c99bbf0ac862870", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> src/lib.rs:17:13
[INFO] [stderr]    |
[INFO] [stderr] 17 | #![cfg_attr(feature = "cargo-clippy", allow(expl_impl_clone_on_copy, type_complexity))]
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `nightly`
[INFO] [stderr]    = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:33:55
[INFO] [stderr]    |
[INFO] [stderr] 33 |     pub fn once_to_mut<'a, X, Y, F>(f_once: F) -> Box<FnMut(X) -> Option<Y> + 'a>
[INFO] [stderr]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 33 |     pub fn once_to_mut<'a, X, Y, F>(f_once: F) -> Box<dyn FnMut(X) -> Option<Y> + 'a>
[INFO] [stderr]    |                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:40:63
[INFO] [stderr]    |
[INFO] [stderr] 40 |     pub fn once_to_mut_flatten<'a, X, Y, F>(f_once: F) -> Box<FnMut(X) -> Option<Y> + 'a>
[INFO] [stderr]    |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 40 |     pub fn once_to_mut_flatten<'a, X, Y, F>(f_once: F) -> Box<dyn FnMut(X) -> Option<Y> + 'a>
[INFO] [stderr]    |                                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:79:29
[INFO] [stderr]    |
[INFO] [stderr] 79 |     phantom_ss: PhantomData<Fn(S) -> S>,
[INFO] [stderr]    |                             ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 79 |     phantom_ss: PhantomData<dyn Fn(S) -> S>,
[INFO] [stderr]    |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:80:29
[INFO] [stderr]    |
[INFO] [stderr] 80 |     phantom_tt: PhantomData<Fn(T) -> T>,
[INFO] [stderr]    |                             ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 80 |     phantom_tt: PhantomData<dyn Fn(T) -> T>,
[INFO] [stderr]    |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/terminal.rs:227:29
[INFO] [stderr]     |
[INFO] [stderr] 227 |     phantom_ua: PhantomData<Fn(()) -> A>,
[INFO] [stderr]     |                             ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 227 |     phantom_ua: PhantomData<dyn Fn(()) -> A>,
[INFO] [stderr]     |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/terminal.rs:228:29
[INFO] [stderr]     |
[INFO] [stderr] 228 |     phantom_bu: PhantomData<Fn(B) -> ()>,
[INFO] [stderr]     |                             ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 228 |     phantom_bu: PhantomData<dyn Fn(B) -> ()>,
[INFO] [stderr]     |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/terminal.rs:332:29
[INFO] [stderr]     |
[INFO] [stderr] 332 |     phantom_su: PhantomData<Fn(S) -> ()>,
[INFO] [stderr]     |                             ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 332 |     phantom_su: PhantomData<dyn Fn(S) -> ()>,
[INFO] [stderr]     |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/terminal.rs:333:29
[INFO] [stderr]     |
[INFO] [stderr] 333 |     phantom_us: PhantomData<Fn(()) -> S>,
[INFO] [stderr]     |                             ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 333 |     phantom_us: PhantomData<dyn Fn(()) -> S>,
[INFO] [stderr]     |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/conv.rs:10:29
[INFO] [stderr]    |
[INFO] [stderr] 10 |     phantom_sa: PhantomData<Fn(S) -> A>,
[INFO] [stderr]    |                             ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 10 |     phantom_sa: PhantomData<dyn Fn(S) -> A>,
[INFO] [stderr]    |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/conv.rs:11:29
[INFO] [stderr]    |
[INFO] [stderr] 11 |     phantom_bt: PhantomData<Fn(B) -> T>,
[INFO] [stderr]    |                             ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 11 |     phantom_bt: PhantomData<dyn Fn(B) -> T>,
[INFO] [stderr]    |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/conv.rs:197:29
[INFO] [stderr]     |
[INFO] [stderr] 197 |     phantom_sa: PhantomData<Fn(&'a S) -> &'a A>,
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 197 |     phantom_sa: PhantomData<dyn Fn(&'a S) -> &'a A>,
[INFO] [stderr]     |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/conv.rs:198:29
[INFO] [stderr]     |
[INFO] [stderr] 198 |     phantom_bt: PhantomData<Fn(&'a B) -> &'a T>,
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 198 |     phantom_bt: PhantomData<dyn Fn(&'a B) -> &'a T>,
[INFO] [stderr]     |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/conv.rs:384:29
[INFO] [stderr]     |
[INFO] [stderr] 384 |     phantom_sa: PhantomData<Fn(&'a mut S) -> &'a mut A>,
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 384 |     phantom_sa: PhantomData<dyn Fn(&'a mut S) -> &'a mut A>,
[INFO] [stderr]     |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/conv.rs:385:29
[INFO] [stderr]     |
[INFO] [stderr] 385 |     phantom_bt: PhantomData<Fn(&'a mut B) -> &'a mut T>,
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 385 |     phantom_bt: PhantomData<dyn Fn(&'a mut B) -> &'a mut T>,
[INFO] [stderr]     |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/partial_lens.rs:3:35
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub type Injector<'l, X, Y> = Box<FnMut(X) -> Option<Y> + 'l>;
[INFO] [stderr]   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub type Injector<'l, X, Y> = Box<dyn FnMut(X) -> Option<Y> + 'l>;
[INFO] [stderr]   |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/partial_lens.rs:18:23
[INFO] [stderr]    |
[INFO] [stderr] 18 |     fn try_get_inject(&self,
[INFO] [stderr]    |                       ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 21 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 21 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stderr]    |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/partial_lens.rs:53:23
[INFO] [stderr]    |
[INFO] [stderr] 53 |     fn try_get_inject(&self, v: S) -> Result<(S, Injector<T, T>), T> {
[INFO] [stderr]    |                       ^^^^^                      ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 53 |     fn try_get_inject(&self, v: S) -> Result<(S, Injector<'_, T, T>), T> {
[INFO] [stderr]    |                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/partial_lens.rs:93:23
[INFO] [stderr]    |
[INFO] [stderr] 93 |     fn try_get_inject(&self,
[INFO] [stderr]    |                       ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 96 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 96 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stderr]    |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/partial_lens.rs:154:23
[INFO] [stderr]     |
[INFO] [stderr] 154 |     fn try_get_inject(&self,
[INFO] [stderr]     |                       ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 157 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 157 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/terminal.rs:299:23
[INFO] [stderr]     |
[INFO] [stderr] 299 |     fn try_get_inject(&self, v: ()) -> Result<(A, Injector<B, ()>), ()> {
[INFO] [stderr]     |                       ^^^^^                       ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 299 |     fn try_get_inject(&self, v: ()) -> Result<(A, Injector<'_, B, ()>), ()> {
[INFO] [stderr]     |                                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/terminal.rs:404:23
[INFO] [stderr]     |
[INFO] [stderr] 404 |     fn try_get_inject(&self, v: S) -> Result<((), Injector<(), S>), S> {
[INFO] [stderr]     |                       ^^^^^                       ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 404 |     fn try_get_inject(&self, v: S) -> Result<((), Injector<'_, (), S>), S> {
[INFO] [stderr]     |                                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/conv.rs:125:23
[INFO] [stderr]     |
[INFO] [stderr] 125 |     fn try_get_inject(&self,
[INFO] [stderr]     |                       ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 128 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 128 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/conv.rs:312:23
[INFO] [stderr]     |
[INFO] [stderr] 312 |     fn try_get_inject(&self,
[INFO] [stderr]     |                       ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 315 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 315 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/conv.rs:499:23
[INFO] [stderr]     |
[INFO] [stderr] 499 |     fn try_get_inject(&self,
[INFO] [stderr]     |                       ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 502 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 502 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: `refraction` (lib) generated 25 warnings (run `cargo fix --lib -p refraction` to apply 24 suggestions)
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/ops.rs:119:43
[INFO] [stderr]     |
[INFO] [stderr] 119 |                         $crate::std::mem::uninitialized()
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 189 |         let l = field_lens!(TestOuter => test_field.0: String);
[INFO] [stderr]     |                 ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]     = note: this warning originates in the macro `field_lens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ops.rs:112:35
[INFO] [stderr]     |
[INFO] [stderr] 112 |                   fn try_get_inject(&self, mut v: Self::InitialSource) ->
[INFO] [stderr]     |                                     ^^^^^ the lifetime is elided here
[INFO] [stderr] 113 |                       $crate::std::result::Result<(Self::InitialTarget,
[INFO] [stderr] 114 | /                                                  $crate::Injector<Self::FinalTarget,
[INFO] [stderr] 115 | |                                                  Self::FinalSource>), Self::FinalSource>
[INFO] [stderr]     | |___________________________________________________________________^ the same lifetime is hidden here
[INFO] [stderr] ...
[INFO] [stderr] 189 |           let l = field_lens!(TestOuter => test_field.0: String);
[INFO] [stderr]     |                   ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `field_lens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 114 |                                                  $crate::Injector<'_, Self::FinalTarget,
[INFO] [stderr]     |                                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: the type `String` does not permit being left uninitialized
[INFO] [stderr]    --> src/ops.rs:119:25
[INFO] [stderr]     |
[INFO] [stderr] 119 |                         $crate::std::mem::uninitialized()
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         this code causes undefined behavior when executed
[INFO] [stderr]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr] ...
[INFO] [stderr] 189 |         let l = field_lens!(TestOuter => test_field.0: String);
[INFO] [stderr]     |                 ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: `alloc::raw_vec::RawVec<u8>` must be initialized inside its custom valid range
[INFO] [stderr]     = note: because `alloc::raw_vec::RawVecInner` must be initialized inside its custom valid range
[INFO] [stderr]     = note: `std::ptr::Unique<u8>` must be non-null
[INFO] [stderr]     = note: because `std::ptr::NonNull<u8>` must be non-null
[INFO] [stderr]     = note: raw pointers must be initialized
[INFO] [stderr]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stderr]     = note: this warning originates in the macro `field_lens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `refraction` (lib test) generated 28 warnings (25 duplicates) (run `cargo fix --lib -p refraction --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/refraction-f8492c4bce2a73bb)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test ops::test::test_field_lens ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests refraction
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "efc3c4ca476802872cd5e98a77f37fd1b1fb44452a65fc040c99bbf0ac862870", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "efc3c4ca476802872cd5e98a77f37fd1b1fb44452a65fc040c99bbf0ac862870", kill_on_drop: false }`
[INFO] [stdout] efc3c4ca476802872cd5e98a77f37fd1b1fb44452a65fc040c99bbf0ac862870
